package com.internetCafes.spms.web.sys.dao;

import com.internetCafes.spms.common.base.BaseMapper;
import com.internetCafes.spms.core.annotation.NoTentant;
import com.internetCafes.spms.web.sys.model.MenuInfo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 菜单管理
 *
 * @author Sunny
 * @email rekeeper2011@hotmail.com
 * @date 2019-10-29 00:11:51
 */
@Mapper
public interface MenuInfoMapper extends BaseMapper<MenuInfo> {

    /**
     * 获取所有菜单列表
     *
     * @return 菜单列表
     * @author Zj
     */
    @NoTentant
    List<MenuInfo> queryAllList();

    /**
     * 获取用户对应所有菜单列表
     *
     * @param userId 用户id
     * @return 菜单列表
     * @author Zj
     */
    @NoTentant
    List<MenuInfo> queryAllListByUserId(Long userId);

    /**
     * 根据父菜单，查询子菜单
     *
     * @param parentId 父菜单ID
     */
    @NoTentant
    List<MenuInfo> queryListParentId(Long parentId);

    /**
     * 获取不包含按钮的菜单列表
     */
    List<MenuInfo> queryNotButtonList();

    /**
     * 查询用户的权限列表
     */
    List<MenuInfo> queryUserList(Long userId);
}
